package com.how2java.tmall.service;

import java.util.List;

import com.how2java.tmall.pojo.Category;
import com.how2java.tmall.pojo.Product;

public interface ProductService {
	void add(Product p);
    void delete(int id);
    void update(Product p);
    Product get(int id);
    List<Product> list(int cid);
    void setFirstProductImage(Product p);
    
    /**
     * 为多个分类填充产品集合
     * @param cs
     */
    void fill(List<Category> cs);
    
    /**
     *  为分类填充产品集合
     * @param c
     */
    void fill(Category c);
    
    /**
     * 为多个分类填充推荐产品集合，即把分类下的产品集合，按照8个为一行，拆成多行，以利于后续页面上进行显示
     * @param cs
     */
    void fillByRow(List<Category> cs);
    
    /**
     * 根据产品获取销售量
     * @param pid
     * @return
     */
    int getSaleCount(int  pid);
    
    /**
     * 为产品设置销量和评价数量
     * @param p
     */
    void setSaleAndReviewNumber(Product p);
    /**
     * 为产品设置销量和评价数量
     * @param ps
     */
    void setSaleAndReviewNumber(List<Product> ps);
	List<Product> search(String keyword);
}
